﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CastleOfTheDisillusioned.Overworld;
using CastleOfTheDisillusioned.Location;
using CastleOfTheDisillusioned.Location.Maps.Forrest;


namespace CastleOfTheDisillusioned {
	abstract class GameState {		
		//Instance
		public abstract void Start();
		public abstract void Draw();
		public abstract void Update();
		public abstract void Stop();

		//Static
		public static GameState CurrentState;
		public static Location_State Location = new Location_State(new ForrestMap());
		public static Overworld_State Overworld = new Overworld_State();

		public static void ChangeState(GameState NewState) {
			if (CurrentState != null) {
				CurrentState.Stop();
			}
			CurrentState = NewState;
			CurrentState.Start();
		}
	}
}
